home *** CD-ROM | disk | FTP | other *** search
/ Info-Mac 4 / Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso / Development / General / DR1.#1 PowerPlant ƒ / LPrintout.h < prev    next >
Text File  |  1994-02-10  |  2KB  |  60 lines

  1. // ===========================================================================
  2. //    LPrintout.h                     ©1993 Metrowerks Inc. All rights reserved.
  3. // ===========================================================================
  4.  
  5. #pragma once
  6.  
  7. #include "LView.h"
  8. #include <Printing.h>
  9.  
  10. enum    EPrintAttr    {
  11.     printAttr_NumberDown        = 0x80000000
  12. };
  13.  
  14.  
  15. class    LPrintout : public LView {
  16. public:
  17.     static LPrintout*    CreatePrintout(ResIDT    inPrintoutID);
  18.     static LPrintout*    CreatePrintoutStream(LStream *inStream);
  19.     
  20.                     LPrintout();
  21.                     LPrintout(THPrint inPrintRecordH);
  22.                     LPrintout(LStream *inStream);
  23.     virtual            ~LPrintout();
  24.     
  25.     THPrint            GetPrintRecord();
  26.     void            SetPrintRecord(THPrint inPrintRecordH);
  27.  
  28.     virtual void    DoPrintJob();
  29.     virtual void    PrintPanelRange(const PanelSpec &inFirstPanel,
  30.                                     const PanelSpec &inLastPanel,
  31.                                     Uint16 inCopyCount);
  32.     virtual void    CountPanels(Uint32 &outHorizPanels,
  33.                                     Uint32 &outVertPanels);
  34.     virtual void    PrintPanel(const PanelSpec &inPanel,
  35.                                     RgnHandle inSuperPrintRgnH);
  36.  
  37.     virtual GrafPtr    GetMacPort() const;
  38.     virtual void    EstablishPort();
  39.     
  40.     Boolean            HasAttribute(EPrintAttr inAttribute);
  41.     
  42. protected:
  43.     virtual void    PageToPanel(Uint32 inPageNumber, PanelSpec &outPanel);
  44.     virtual void    GetPrintJobSpecs(PanelSpec &outFirstPanel,
  45.                                     PanelSpec &outLastPanel,
  46.                                     Uint16 &outCopyCount);
  47.     virtual void    PrintCopiesOfPages(const PanelSpec &inFirstPanel,
  48.                                     const PanelSpec &inLastPanel,
  49.                                     Uint16 inCopyCount);
  50.     
  51. private:
  52.     Uint32            mAttributes;
  53.     THPrint            mPrintRecordH;
  54.     TPPrPort        mPrinterPort;
  55.     WindowPtr        mWindowPort;
  56.     Uint32            mHorizPanelCount;
  57.     Uint32            mVertPanelCount;
  58.     
  59.     void            InitPrintout();
  60. };